package com.crazy.web.service.share;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.crazy.model.major.entity.TArticle;
import com.crazy.model.major.entity.TLabel;

/**
 * 文章管理接口
 * @author zhaochaofeng
 * @version 1.0
 * @date 2020/12/1 9:30
 */
public interface ArticleService {

    /**
     * 查询文章列表
     * @param userId
     * @param page
     * @param rows
     * @param search
     * @return
     */
    IPage<TArticle> find(long userId, long page, long rows, String search);

    /**
     * 通过id获取文章，先判定该文章是用户本人的
     * @param userId
     * @param id
     * @return
     */
    TArticle findByIdWithAuthority(long userId, long id);

    /**
     * 保存草稿
     * @param tArticle
     * @param userId
     */
    void save(TArticle tArticle, long userId);

    /**
     * 发布文章
     * @param tArticle
     * @param userId
     * @param labelNames
     */
    void save(TArticle tArticle, long userId, String[] labelNames);

    /**
     * 批量删除文章
     * @param ids
     */
    void delete(Long[] ids);

    /**
     * 阅读数+1
     * @param articleId
     */
    void hasRead(Long articleId);
}
